home *** CD-ROM | disk | FTP | other *** search
/ Holt Researcher: American History / Holt Researcher: American History.iso / pc / modules / search.dxr / 00031_criteria popup.ls < prev    next >
Encoding:
Text File  |  2000-01-18  |  2.7 KB  |  120 lines

  1. property ancestor, pkCriteriaSprite, pkFreeFindSprite, pBankNumber, pIsComplete
  2.  
  3. on getBankNumber me
  4.   return pBankNumber
  5. end
  6.  
  7. on isComplete me
  8.   return pIsComplete
  9. end
  10.  
  11. on setComplete me, isComplete
  12.   pIsComplete = isComplete
  13. end
  14.  
  15. on new me, channelList, bankNumber, descendant
  16.   if objectp(descendant) then
  17.     ancestor = new(script("auto popup menu"), channelList, descendant)
  18.   else
  19.     ancestor = new(script("auto popup menu"), channelList, me)
  20.   end if
  21.   disable(ancestor)
  22.   pkCriteriaSprite = 38
  23.   pkFreeFindSprite = 44
  24.   pBankNumber = bankNumber
  25.   pIsComplete = 0
  26.   return me
  27. end
  28.  
  29. on Inscope me
  30.   Inscope(ancestor)
  31.   if isdisabled(me) then
  32.     disable(me)
  33.   else
  34.     enable(me)
  35.   end if
  36. end
  37.  
  38. on enable me
  39.   enabledMenu = the number of member "criteria menu enabled"
  40.   set the memberNum of sprite the pBaseChannel of me to enabledMenu
  41.   enable(ancestor)
  42. end
  43.  
  44. on disable me
  45.   disabledMenu = the number of member "criteria menu disabled"
  46.   set the memberNum of sprite the pBaseChannel of me to disabledMenu
  47.   disable(ancestor)
  48. end
  49.  
  50. on clear me
  51.   pIsComplete = 0
  52.   disable(me)
  53.   clear(ancestor)
  54. end
  55.  
  56. on clone me, srcPopupObj
  57.   pIsComplete = isComplete(srcPopupObj)
  58.   clone(ancestor, srcPopupObj)
  59. end
  60.  
  61. on expand me
  62.   global gSearchObj
  63.   baseSpriteRect = the rect of sprite me.pBaseChannel
  64.   baseSpriteLoc = point(baseSpriteRect.left, baseSpriteRect.top)
  65.   set the loc of sprite pkCriteriaSprite to baseSpriteLoc
  66.   me.pIsPopped = 1
  67.   setPoppedMenu(getMenuBankObj(gSearchObj), me)
  68.   updateStage()
  69. end
  70.  
  71. on contract me
  72.   global gSearchObj
  73.   if not pIsComplete then
  74.     disable(me)
  75.   end if
  76.   set the loc of sprite pkCriteriaSprite to point(-9999, -9999)
  77.   popupMember = the memberNum of sprite pkCriteriaSprite
  78.   member(popupMember).color = color(#paletteIndex, 255)
  79.   me.pIsPopped = 0
  80.   setPoppedMenu(getMenuBankObj(gSearchObj), 0)
  81.   updateStage()
  82. end
  83.  
  84. on rollOver me
  85.   mLine = the mouseLine
  86.   if mLine > 0 then
  87.     popupMember = the memberNum of sprite pkCriteriaSprite
  88.     member(popupMember).color = color(#paletteIndex, 255)
  89.     set the foreColor of line mLine of member popupMember to 210
  90.   end if
  91. end
  92.  
  93. on mouseUp me
  94.   global gSearchObj
  95.   if not me.pIsDisabled then
  96.     if not me.pIsPopped then
  97.       poppedMenu = getPoppedMenu(getMenuBankObj(gSearchObj))
  98.       if objectp(poppedMenu) then
  99.         contract(poppedMenu)
  100.       end if
  101.       expand(me)
  102.     else
  103.       mLine = the mouseLine
  104.       if mLine > 0 then
  105.         pIsComplete = 1
  106.         popupMember = the memberNum of sprite pkCriteriaSprite
  107.         setText(me, line mLine of the text of field popupMember)
  108.         setSelection(me, mLine)
  109.         contract(me)
  110.         popupObj = getMenuObj(getMenuBankObj(gSearchObj), pBankNumber, #selection)
  111.         setType(popupObj, mLine)
  112.       end if
  113.     end if
  114.   end if
  115. end
  116.  
  117. on performFunction me
  118.   nothing()
  119. end
  120.